import { getAuthToken, setAuthToken } from '@/utils/localstorage'

// 存储个人信息相关的
export default {
  namespaced: true,
  state: {
    token: getAuthToken() || ''
  },
  mutations: {
    setLoginAuth (state, data) {
      state.token = data
      setAuthToken(data)
    }
  },
  actions: {
    logout (ctx) {
      // 退出登录，删除token，并且删除购物车相关存储在vuex里面的信息
      ctx.commit('setLoginAuth', null)
      // 跨模块调用其他模块的方法，购物车state清空后，计算属性会重新计算
      ctx.commit('cart/setCartTotal', 0, { root: true })
      ctx.commit('cart/addCart', 0, { root: true })
      ctx.commit('cart/setCartList', [], { root: true })
    }
  }
}
